/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jjsoft.celularessuc.gco.neg;

/**
 *
 * @author Johnny
 */
 
import com.jjsoft.celularessuc.gco.mdl.DeudaCliente;
import com.jjsoft.celularessuc.gco.util.EnvioMailException;
import com.jjsoft.celularessuc.gco.util.ValidarAtributoUtil;
import com.jjsoft.celularessuc.gco.util.configuraciones;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
 
public class SendMailSSL {
	public  void sendMail(String mailCliente, String titulo, String mensaje) throws MessagingException, EnvioMailException {
		if(configuraciones.getInstance().getConfiguracion().getMail()==null || configuraciones.getInstance().getConfiguracion().getMail().trim().equals(""))
                {
                    throw new EnvioMailException("La dirección de correo electrónico esta mal ingresada\nPor favor verifiquela en Sistema/Configuraciones");
                    
                }
                if(configuraciones.getInstance().getConfiguracion().getPassmail()==null || configuraciones.getInstance().getConfiguracion().getPassmail().trim().equals(""))
                {
                    throw new EnvioMailException("No se encuentra un password para el correo electrónico");
                    
                }
                Properties props = new Properties();
		props.put("mail.smtp.host", "smtp.gmail.com");
		props.put("mail.smtp.socketFactory.port", "465");
		props.put("mail.smtp.socketFactory.class",
				"javax.net.ssl.SSLSocketFactory");
		props.put("mail.smtp.auth", "true");
		props.put("mail.smtp.port", "465");
 
		Session session = Session.getDefaultInstance(props,
			new javax.mail.Authenticator() {
				protected PasswordAuthentication getPasswordAuthentication() {
					return new PasswordAuthentication(configuraciones.getInstance().getConfiguracion().getMail(),configuraciones.getInstance().getConfiguracion().getPassmail());
				}
			});
 
		//try {
 
			Message message = new MimeMessage(session);
			message.setFrom(new InternetAddress(configuraciones.getInstance().getConfiguracion().getMail()+"@gmail.com"));
			message.setRecipients(Message.RecipientType.TO,
					InternetAddress.parse(mailCliente));
			message.setSubject(titulo);
			message.setText(mensaje);
 
			Transport.send(message);
 
			System.out.println("Done");
 
		// catch (MessagingException e) {
		//	throw new RuntimeException(e);
		//}
	}
}